package com.byttersoft.bpp.action;


import com.snailct.bpp.commons.protocol.RespResult;
import com.snailct.bpp.service.client.IServiceInvoker;
import com.snailct.bpp.service.client.factory.ServiceInvokerFactory;
import net.sf.json.JSONObject;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 前端中央请求处理器,用于接收action请求,并调用相应的服务处理,返回处理结果
 *
 */
@Controller
@RequestMapping("/user")
public class DispatcherController {

    /**
     * 接收规定格式的json字符串,使用客户端jar去调用相应的服务,并返回json格式数据
     * @param data 接收传入规定格式的json字符器
     * @return 返回json格式数据
     */
    @RequestMapping(value="/execute")
    @ResponseBody
    public Object execute(String data){
        try{
            System.out.println("data=="+data);
            IServiceInvoker serviceInvoker = ServiceInvokerFactory.getServiceInvoker();
            RespResult resp = serviceInvoker.invoke(data);
            JSONObject rtn = JSONObject.fromObject(resp);
            System.out.println("返回值=="+resp);
            return rtn;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }
    }
}
